package com.sh3h.generator.web.dtos;

import com.sh3h.generator.web.domain.GenFieldType;
import com.sh3h.generator.web.domain.GenFtl;

import java.io.Serializable;
import java.util.Date;

/**
 * ftl模板管理
 * @TableName gen_ftl
 */
public class GenFtlDto implements Serializable {
    /**
     * id
     */
    private Long id;

    /**
     * ftl模板分组编码，区分具体的类别，如工程，热线，工单，不同的可能定制不同
     */
    private String ftlGroup;

    /**
     * ftl模板名称
     */
    private String ftlName;

    /**
     * ftl模板属性类型。如mybatis,jpa等等
     */
    private String ftlType;

    /**
     * ftl模板数据
     */
    private String ftlData;

    /**
     * 创建时间
     */
    private Date createTime;

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    public Long getId() {
        return id;
    }

    /**
     * id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * ftl模板分组编码，区分具体的类别，如工程，热线，工单，不同的可能定制不同
     */
    public String getFtlGroup() {
        return ftlGroup;
    }

    /**
     * ftl模板分组编码，区分具体的类别，如工程，热线，工单，不同的可能定制不同
     */
    public void setFtlGroup(String ftlGroup) {
        this.ftlGroup = ftlGroup;
    }

    /**
     * ftl模板名称
     */
    public String getFtlName() {
        return ftlName;
    }

    /**
     * ftl模板名称
     */
    public void setFtlName(String ftlName) {
        this.ftlName = ftlName;
    }

    /**
     * ftl模板属性类型。如mybatis,jpa等等
     */
    public String getFtlType() {
        return ftlType;
    }

    /**
     * ftl模板属性类型。如mybatis,jpa等等
     */
    public void setFtlType(String ftlType) {
        this.ftlType = ftlType;
    }

    /**
     * ftl模板数据
     */
    public String getFtlData() {
        return ftlData;
    }

    /**
     * ftl模板数据
     */
    public void setFtlData(String ftlData) {
        this.ftlData = ftlData;
    }

    /**
     * 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public static GenFtl ToModal(GenFtlDto dto){
        GenFtl datasource=new GenFtl();
        datasource.setId(dto.getId());
        datasource.setFtlData(dto.getFtlData());
        datasource.setFtlGroup(dto.getFtlGroup());
        datasource.setCreateTime(dto.getCreateTime());
        return datasource;
    }
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        GenFtlDto other = (GenFtlDto) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getFtlGroup() == null ? other.getFtlGroup() == null : this.getFtlGroup().equals(other.getFtlGroup()))
            && (this.getFtlName() == null ? other.getFtlName() == null : this.getFtlName().equals(other.getFtlName()))
            && (this.getFtlType() == null ? other.getFtlType() == null : this.getFtlType().equals(other.getFtlType()))
            && (this.getFtlData() == null ? other.getFtlData() == null : this.getFtlData().equals(other.getFtlData()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getFtlGroup() == null) ? 0 : getFtlGroup().hashCode());
        result = prime * result + ((getFtlName() == null) ? 0 : getFtlName().hashCode());
        result = prime * result + ((getFtlType() == null) ? 0 : getFtlType().hashCode());
        result = prime * result + ((getFtlData() == null) ? 0 : getFtlData().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", ftlGroup=").append(ftlGroup);
        sb.append(", ftlName=").append(ftlName);
        sb.append(", ftlType=").append(ftlType);
        sb.append(", ftlData=").append(ftlData);
        sb.append(", createTime=").append(createTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}